package com.etcn.common.utils.secret;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * SHAR摘要算法工具类
 * @author guozc
 * @date 2016-08-18
 */
public class SHAUtil {

	public static String SHA(String decript,String algorithm) {
		try {
			MessageDigest digest = java.security.MessageDigest.getInstance(algorithm);
			digest.update(decript.getBytes());
			byte messageDigest[] = digest.digest();
			// Create Hex String
			StringBuffer hexString = new StringBuffer();
			// 字节数组转换为 十六进制 数
			for (int i = 0; i < messageDigest.length; i++) {
				String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);
				if (shaHex.length() < 2) {
					hexString.append(0);
				}
				hexString.append(shaHex);
			}
			return hexString.toString();
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
		return "";
	}
	
	public static String SHA1(String decript) {
		return SHA(decript,"SHA-1");
	}
	
	public static String SHA256(String decript) {
		return SHA(decript,"SHA-256");
	}
	
	public static String SHA512(String decript) {
		return SHA(decript,"SHA-512");
	}
	
}
